home *** CD-ROM | disk | FTP | other *** search
/ Input 64 / Input_64_86-06_1986_Verlag_Heinz_Weise_de.d64 / eliza .lsp < prev    next >
Text File  |  2023-02-26  |  5KB  |  135 lines

  1. (eliza expr (lambda nil (msg (char 
  2. 147) t "hallo, ich bin eliza !" t t 
  3. "bitte erzaehle mir von" t t 
  4. "deinen problemen :" t t) (dialog 
  5. ersatz-antworten) (msg t 
  6. "wir muessen unsere sitzung" t 
  7. "leider beenden." t t "tschuess !" t 
  8. t)))
  9. (dialog expr (lambda (
  10. ersatz-antworten) (prog (resultat 
  11. satz) loop1 (setq satz (readl)) (setq 
  12. resultat (finde-antwort satz 
  13. dialog-regeln)) (cond (resultat (
  14. princ resultat)) (ersatz-antworten (
  15. princ (car ersatz-antworten)) (setq 
  16. ersatz-antworten (cdr 
  17. ersatz-antworten))) (t (return nil))) 
  18. (terpri) (go loop1))))
  19. (finde-antwort expr (lambda (s r) (
  20. prog (resultat) loop (cond ((null r) (
  21. return nil)) ((match (caar r) s) (
  22. setq resultat (car (cdar r))) (nconc1 
  23. r (car r)) (rplaca r (cadr r)) (
  24. rplacd r (cddr r)) (return resultat)))
  25.  (setq r (cdr r)) (go loop))))
  26. (match expr (lambda (p s) (cond ((
  27. null p) (null s)) ((eq (car p) (quote 
  28. *)) (cond ((null s) (null (cdr p))) ((
  29. match (cdr p) s)) ((match p (cdr s))))
  30. ) ((null s) nil) ((eq (car p) (car s))
  31.  (match (cdr p) (cdr s))) ((and (
  32. consp (car p)) (member (car s) (car p)
  33. )) (match (cdr p) (cdr s))))))
  34. (lerne expr (lambda nil (prog (eing 
  35. eing2 nr) (setq nr (add1 (length 
  36. dialog-regeln))) loop (msg t nr 2) (
  37. setq eing (readl)) (cond ((equal eing 
  38. (quote (-))) (return nr)) ((equal 
  39. eing (quote (pp))) (pp dialog-regeln) 
  40. (go loop))) (msg nr 2) (setq eing2 (
  41. readl)) (nconc1 dialog-regeln (print (
  42. list eing eing2))) (setq nr (add1 nr))
  43.  (go loop))))
  44. (ersatz-antworten value ((was meinst 
  45. du damit?) (komm bitte zur sache!) (
  46. tatsaechlich?) (so so) (unsere zeit 
  47. ist bald um) (na und?)))
  48. (dialog-regeln value (((ja) (ich 
  49. moechte es gerne genauer wissen)) ((
  50. ja *) (kannst du mir das naeher 
  51. erlaeutern?)) ((* ja *) (das ist aber 
  52. interessant!)) ((nein) (wieso nicht?))
  53.  ((nein * nicht *) (wirklich nicht? 
  54. wieso?)) ((aber *) (war dir meine 
  55. frage unangenehm?)) ((nein *) (was 
  56. wuerdest du denn dazu sagen?)) ((* 
  57. bist wie *) (in welcher hinsicht?)) ((
  58. (bin bist ist waere waerst) *) (wieso 
  59. ist das fuer dich wichtig?)) ((du 
  60. bist *) (wie kommst du darauf?)) ((
  61. weil *) (was meinst du damit?)) ((ich 
  62. (liebe hasse) *) (lassen wir die 
  63. gefuehle beiseite!)) ((ich (moechte 
  64. will) *) (und warum tust du es nicht?)
  65. ) ((ich weiss nicht *) (muss man das 
  66. denn wissen?)) ((ich weiss *) (bist 
  67. du dir sicher?)) ((ich heisse *) (
  68. erzaehle mir mehr von dir)) ((wie 
  69. heisst du) (eliza - das weisst du 
  70. doch!)) ((* bin * (traurig 
  71. ungluecklich unzufrieden)) (was macht 
  72. dich denn traurig?)) ((* bin * (
  73. gluecklich zufrieden)) (es geht dir 
  74. anscheinend gut?)) ((du bist *) (
  75. macht es dir etwas aus?)) ((* keine 
  76. probleme) (das ist ja schoen!)) ((du 
  77. hast gesagt *) (habe ich das wirklich 
  78. gesagt?)) ((ich muss *) (das glaube 
  79. ich auch)) ((du musst *) (ja - das 
  80. tue ich)) ((ich habe *) (was bedeutet 
  81. das fuer dich?)) ((du hast *) (meinst 
  82. du wirklich?)) ((hallo *) (wie gehts?)
  83. ) ((guten (morgen abend tag) *) (
  84. hallo - wie gehts?)) ((warum *) (ich 
  85. weiss nicht - was meinst du?)) ((wie 
  86. *) (versuche es herauszufinden!)) ((
  87. kannst du *) (ich hoffe es)) ((ich 
  88. kann nicht *) (sage mir warum du es 
  89. nicht kannst!)) ((ich kann *) (kannst 
  90. du das wirklich?)) (((welche welcher 
  91. welches) *) (was meinst du?)) ((was *)
  92.  (was wuerdest du vorschlagen?)) ((
  93. wer *) (an wen denkst du jetzt?)) ((
  94. wo *) (du weisst es doch selbst)) ((
  95. woher (weisst wusstest) du *) (oh - 
  96. ich hatte nur so eine ahnung!)) ((
  97. wieso *) (das kann ich dir auch nicht 
  98. sagen)) ((ich bin *) (das glaube ich 
  99. dir nicht)) ((du bist *) (sprechen 
  100. wir lieber ueber dich!)) ((* eliza *) 
  101. (was haelst du von mir?)) ((* (frauen 
  102. freundin maedchen) *) (hast du 
  103. probleme mit frauen?)) ((* sex *) (
  104. hast du sexuelle probleme?)) ((* gott 
  105. *) (was hat religion damit zu tun?)) (
  106. (* tschuess *) (du willst schon 
  107. aufhoeren?)) ((* (rechner computer 
  108. c64 floppy programm) *) (ich verstehe 
  109. davon leider nichts)) ((* (jede jeder 
  110. jedes) *) (denkst du an jemand 
  111. bestimmten?)) ((* (blond rothaarig 
  112. bruenett) *) (was magst du an ihr?)) (
  113. (* (geld taschengeld dm kohle) *) (
  114. hast du ein finanzielles problem?)) ((
  115. * (computer rechner) *) (was bedeuten 
  116. computer fuer dich?)) ((* (idiot 
  117. scheisse bloede geil) *) (bitte nicht 
  118. in diesem ton!)) ((* vielleicht *) (
  119. du bist dir nicht sicher?)) ((* 
  120. manchmal *) (und sonst?)) ((* weil *) 
  121. (ist das der einzige grund?)) ((* 
  122. nicht *) (warum nicht?)) ((* nie *) (
  123. man soll nie nie sagen!)) ((* (
  124. wirklich sehr total) *) (warum 
  125. betonst du das so?)) ((* mein *) (und 
  126. was weiter?)) ((* ich *) (redest du 
  127. gern ueber dich?)) ((* du *) (reden 
  128. wir lieber ueber dich!)) ((* dich *) (
  129. das hoere ich gerne!))))
  130. (elifns value (eliza dialog 
  131. finde-antwort match lerne 
  132. ersatz-antworten dialog-regeln elifns)
  133. )
  134. nil
  135.